草庐IT

java - JSON异常 : Names must be strings

全部标签

javascript - 如何使用 JSON 重新构建 Javascript 对象?

我有一个这样的对象:varsomeObj=Class.create({initialize:function(objName){this.objName=objName;}});我可以用o=newsomeObj("objName");制作一个对象。我可以使用Object.toJSON(o)将o更改为JSON字符串,但我希望JSON字符串转换回someObj,所以,我使用eval()来传递JSONString成为一个对象,但问题是,它可以成为一个JSObj,但是“o”的构造函数不是someObj。我如何通过使用评估JSON字符串“someObj”作为构造函数?

javascript - 如何打印json数据。

我有一个像这样的json输出数组{"data":[{"name":"BenThorpe","id":"XXXXXXXXXXX"},{"name":"FrancisDavid","id":"XXXXXXXXXXX"},}我想遍历它并使用javascript打印出所有名称。我希望能够做到这一点。for(i=0;i但我无法使用javascript找到json对象的长度。 最佳答案 response.data是对象的数组,因此具有可用于迭代其元素的length属性。varresult;for(vari=0;i

javascript - JavaScript 应该抛出什么类型的异常?

在JavaScript中应该抛出什么类型的对象?我看到很多examples它抛出一个普通的旧string并且似乎有一个半标准的Error类型。我应该更喜欢其中之一吗? 最佳答案 Error对象和特定的错误对象(例如TypeError)在ECMAScript规范中已完全标准化。但是,大多数浏览器都提供这些对象的通用非标准属性。只要您的错误处理代码知道如何处理您抛出的对象,您就可以抛出任何您喜欢的东西,但是使用Error对象有以下优点:与处理原生代码抛出的错误保持一致,例如具有message属性,因此您不必编写不同的代码来处理原生错误和

javascript - 通过 HTTP 进行实时双向 JSON-RPC 通信

我正在构建一个接受HTTP请求的JSON-RPC服务器。我想支持双向通信(客户端和服务器都可以发送请求),具体用例是发布/订阅架构,其中客户端发送subscribe(X)请求并接收changed(X)请求(几乎)实时。据我所知,有几种方法可以用HTTP实现:长轮询WebSockets使用基于cookie的session模型轮询调用流式传输(保持HTTP连接打开)上述一些的组合我正在寻找的是一种基于公认的互联网标准(如果可能)的解决方案,可从网络浏览器使用并且易于在客户端使用。到目前为止,我更喜欢流媒体(Twitter、CouchDB就是这样做的),但我不确定浏览器和JSON-RPC库对

javascript - 试图让 JQuery Post 与 WCF 通信,但不接受 JSON 数据

我正在使用以下JQuery\JavaScript代码与WCF4REST服务通信。varserviceUrl="http://services.xiine.com/Xiine/Live/AccountService/rest/json/Login";varuserInfo={"IsNotEncrypted":true,"Password":null,"UserName":null};varloginSuccess=function(data,textStatus,jqXHR){console.log("yay");};varloginError=function(){console.lo

javascript - Backbone.js - 将 JSON 数组获取到 View 模板中

window.User=Backbone.Model.extend({defaults:{name:'Jane',friends:[]},urlRoot:"users",initialize:function(){this.fetch();}});varHomeView=Backbone.View.extend({el:'#container',template:_.template($("#home-template").html()),render:function(){$(this.el).html(this.template(this.model.toJSON()));retu

javascript - 为什么 JavaScript 按位或行为异常?

在JavaScript中,似乎:(4294958077|0)==-9219为什么不是4294958077?这表明存在某种溢出(尽管据我所知,JavaScript数字类型的范围是+/-9007199254740992,所以这本身就很奇怪。)就算是溢出,也一定(4294958077|0)==4294958077应该评估为true-但事实并非如此。请帮忙 最佳答案 它与浮点类型或溢出无关。它返回-9219因为标准要求这样做,因为所有二进制按位运算都必须使用有符号32位整数(ECMA-262§11.10)来完成。TheproductionA

javascript - 如何判断正在使用哪个 JSON 对象(Crockford 的或其他的)?

我正在使用Crockford的json2.js.当我想进行字符串化时,我会执行JSON.stringify()...效果很好。但是,看过代码的人都知道它遵循现有的JSON对象和属性。我怀疑我遇到的某个问题可能是由于这种尊重。我可以检查JSON对象的属性以查看浏览器是否正在使用Crockford的对象或其他对象?如果能够执行类似alert(JSON.version());的操作就好了 最佳答案 你可以决定一个这样使用:window.JSON||document.write('')这首先检查window.JSON(浏览器支持),如果存在

javascript - 这些神秘的javascript异常方法是什么?

我检查了GoogleChrome中的javascript异常。我注意到函数getmessage、getstack、setmessage和setstack。我trycatch此异常并运行alert(e.get_message());只是为了得到一个错误。我还尝试运行alert(e.getmessage());,这显然由于空格返回了另一个错误。这些神秘的方法是什么,开发人员如何调用它们? 最佳答案 它们是属性访问器。它们是在您获取或设置属性时运行的有效函数。e.message;//gettere.message="foobar";//s

javascript - 点击浏览器 "back"按钮显示 JSON 而不是 HTML(使用 Rails 和 d3.js)

我正在使用d3.jsJSON回调在Rails中生成图表,如下所示:查看d3.json(document.URL,function(data){//generatechart}Controllerdefindexrespond_todo|format|format.htmldo#returntheHTMLendformat.jsondo#returntheJSONendendend一切正常。然而,当用户离开此图表,然后使用浏览器上的“后退”按钮导航回到它时,他们会看到JSON而不是HTML。你能建议我如何解决这个问题吗? 最佳答案 嗯